// RegistryAssociations.h

#ifndef __REGISTRYASSOCIATIONS_H
#define __REGISTRYASSOCIATIONS_H



namespace Common {
namespace Registry {

  /*
  struct CExtInfo
  {
    CString Ext;
    CStringVector Plugins;
    // bool Enabled;
  };
  bool ReadInternalAssociation(const wchar_t *ext, CExtInfo &extInfo);
  void ReadInternalAssociations(std::vector<CExtInfo> &items);
  void WriteInternalAssociations(const std::vector<CExtInfo> &items);
  */

  bool CheckShellExtensionInfo(const CString &extension, CString &iconPath, int &iconIndex);

  // void ReadCompressionInfo(NZipSettings::NCompression::CInfo &anInfo,
  void DeleteShellExtensionInfo(const CString &extension);

  void AddShellExtensionInfo(const CString &extension,
      const CString &programTitle,
      const CString &programOpenCommand,
      const CString &iconPath, int iconIndex,
      const void *shellNewData, int shellNewDataSize);


  ///////////////////////////
  // ContextMenu
  /*
  bool CheckContextMenuHandler();
  void AddContextMenuHandler();
  void DeleteContextMenuHandler();
  */

} //namespace Registry

} //namespace Common

// bool GetProgramDirPrefix(CString &aFolder);

#endif
